[XEN][HVM] Initialise the ELCR so that all interrupts are in level triggered
authorSteven Smith <ssmith@xensource.com>
Fri, 22 Sep 2006 16:21:52 +0000 (17:21 +0100)
committerSteven Smith <ssmith@xensource.com>
Fri, 22 Sep 2006 16:21:52 +0000 (17:21 +0100)
mode after pic_reset, since that seems to be what Linux expects.

Signed-off-by: Steven Smith <sos22@cam.ac.uk>
xen/arch/x86/hvm/i8259.c

index f3c5aaffe8e04d6f733f17ee8394ace3aa45b2ac..4829f0dc0ee21f92c4f0493b0fd0d6c270774d7b 100644 (file)
@@ -271,7 +271,10 @@ static void pic_reset(void *opaque)
     s->rotate_on_auto_eoi = 0;
     s->special_fully_nested_mode = 0;
     s->init4 = 0;
-    s->elcr = 0;
+
+    /* Initialise to level triggered mode, since Linux assumes that in
+       a few places and it doesn't appear to break anything. */
+    s->elcr = 0xff & s->elcr_mask;
 }
 
 /* Caller must hold vpic lock */